package com.gpframework.module.process.service;

import com.gpframework.module.process.domain.GpProcessScheduling;
import com.gpframework.module.process.domain.req.GpProcessSchedulingUpdate;
import com.gpframework.module.process.domain.vo.GpProcessSchedulingVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
/**
 * @ClassName GpProcessScheduling
 * @Author gpframework
 * @Date 2023-12-20
 * @Version 1.0.0
 * @Description 排单Service接口
 */
public interface IGpProcessSchedulingService extends IService<GpProcessScheduling> {

    /**
     * @Description 查询列表返回VO 用于返回给前端的列表接口
     * @Author gpframework
     * @Date 2023-12-20
     * @Param [lqw]
     * @Return List<GpProcessSchedulingVo>
     */
    List<GpProcessSchedulingVo> listVo(QueryWrapper<GpProcessScheduling> lqw);

    /**
     * @Description 通过查询详情VO 用于返回给前端的列详情接口
     * @Author gpframework
     * @Date 2023-12-20
     * @Param [id]
     * @Return GpProcessSchedulingVo
     */
    GpProcessSchedulingVo getVoById(Long id);

    void savebase(GpProcessScheduling gpProcessScheduling);

    boolean edit(List<GpProcessSchedulingUpdate> gpProcessSchedulingUpdates);

    boolean createReceiveGoods(List<Long> ids, String createBy);

    boolean confirmOrder(List<GpProcessSchedulingUpdate> gpProcessSchedulingUpdates);

    boolean editOne(GpProcessSchedulingUpdate gpProcessSchedulingUpdate);

    boolean copy(Long id, Integer copyNum);

    boolean applyReturnBottomCloth(GpProcessSchedulingUpdate gpProcessSchedulingUpdate);

    boolean splitOrders(Long id, Long splitNum);
}
